/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return int整型
 */
 function StrToInt( s ) {
  // write code here
  // if(s === null) return 0 字符串长度是大于等于1的 所以不用判断
  let str = s.trim() // 清除两边的空格
  let n = str.length 
  if(n === 0) return 0
  let flag = 1
  let res = 0  // 这样做是为了避免出现初始的时候只有一个字符的情况 如果只有一个字符 就返回0
  if(str[0] === '+'){
    flag = 1
  }else if(str[0] === '-'){
    flag = -1
  }else if(str[0] >= '0' && str[0] <= '9'){
    flag = 1
    res = str[0] - 0
  }else{
    return 0
  }
  for(let i = 1;i < n;i++){
    if(str[i] >= '0' && str[i] <= '9'){
      res = res*10 + flag * (str[i] - 0)
    }else{
      return res
    }
    if(flag === -1){
      res = res > -Math.pow(2,31) ? res : -Math.pow(2,31)
    }
    if(flag === 1){
      res = res > Math.pow(2,31) - 1 ? Math.pow(2,31) - 1 : res
    }
  }
  return res
}
module.exports = {
  StrToInt : StrToInt
};